
const express = require('express');
const path = require('path');

var app = express();  // server

// 站点搭建  (可以同时搭建多个站点 -> 规律:先来后到)
// app.use(express.static(path.join(__dirname, "../site")));
// app.use(express.static(path.join(__dirname, "../public")));

// app.use(url,callback)中间件
// 1. 每次客户端发送请求到服务端 会依次经过每一个中间件(前提响应没有结束)
// 2. 对指定路由进行拦截 -> 执行对应的中间件函数

// 常见应用:
// 执行任何代码。
// 对请求和响应对象进行更改。
// 结束请求-响应循环。0
// 调用堆栈中的下一个中间件。

// 第一种应用 -> 对所有请求进行拦截
// app.use("/",callback)
app.use(function (req, res, next) {
    console.log(11111);
    // res.end("1111");
    next();
})

app.use(function (req, res, next) {
    console.log(22222);
    next();
})

// 第二种应用 -> 对指定路由(及其子路由)进行拦截
app.use("/data", function (req, res, next) {
    console.log("data", 3333);
    res.end("3333")
    next();
})

app.use("/data/user", function (req, res, next) {
    console.log("data", 4444);
    next();
})

app.use("/data/user/2217", function (req, res, next) {
    console.log("data", 5555);
    next();
})







app.listen(3000, function () {
    console.log("服务器已经启动localhost:3000");
})